Communication links in communication networks are often constructed of specialized packet switching networks which move data and/or instructions (hereinafter referred to as “data”) between endpoints on a communication link. The endpoints on these communication links may receive data associated with a particular communication protocol and transport the data to other endpoints. After receiving data associated with a particular communication protocol, the endpoints may also add additional communication protocols that provide switching or routing functionality such as classes of service, prioritization, data integrity, congestion management, flow control and link management. The addition of these functionalities result in a level of complexity that is further compounded by a large number of possible communication protocols associated with data when received by an endpoint on a communication link.